package com.usj.dcalvo.ecommerce.manager.impl;

import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import com.usj.dcalvo.ecommerce.bean.UsuarioBean;
import com.usj.dcalvo.ecommerce.dao.IUsuarioDAO;
import com.usj.dcalvo.ecommerce.manager.IUsuarioManager;

public class UsuarioManagerImpl implements IUsuarioManager {

	private IUsuarioDAO usuarioDAO;

	@Override
	@Transactional
	public void addUser(UsuarioBean user) {
		usuarioDAO.addUser(user);
	}

	@Override
	@Transactional
	public List<UsuarioBean> getAllUsers() {
		return usuarioDAO.getAllUsers();
	}

	@Override
	@Transactional
	public void deleteUser(Integer userId) {
		usuarioDAO.deleteUser(userId);
	}

	public void setUserDAO(IUsuarioDAO usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}

	public IUsuarioDAO getUsuarioDAO() {
		return usuarioDAO;
	}

	public void setUsuarioDAO(IUsuarioDAO usuarioDAO) {
		this.usuarioDAO = usuarioDAO;
	}

	@Override
	public boolean comprobarLogin(String email, String contrasena) {
		UsuarioBean obtenerUsuarioPorMail = this.usuarioDAO
				.obtenerUsuarioPorMail(email);
		boolean loginCorrecto = false;
		if (obtenerUsuarioPorMail != null
				&& obtenerUsuarioPorMail.getContrasena().equals(contrasena)) {
			loginCorrecto = true;
		}
		return loginCorrecto;
	}

	@Override
	public UsuarioBean getUsuarioPorEmail(String email) {
		return this.usuarioDAO.obtenerUsuarioPorMail(email);
	}

	@Override
	public UsuarioBean getUsuarioPorId(Integer idUsuario) {
		return this.usuarioDAO.getUsuarioPorId(idUsuario);
	}

}
